package com.google.code.kaptcha.impl;

import com.google.code.kaptcha.ColorProducer;

import java.awt.*;
import java.util.Random;

public class RainbowColorProducer implements ColorProducer {


    @Override
    public Color getColor() {
        Random random = new Random();
        return ColorTable.COLORS[random.nextInt(ColorTable.COLORS.length)];
    }


    private static class ColorTable {
        static final Color[] COLORS = new Color[]{
                Color.decode("#800000"), // 栗色 maroon
                Color.decode("#8B0000"), // 暗红色 darkred

                Color.decode("#A52A2A"), // 褐玫瑰红 brown
                Color.decode("#B22222"), // 火砖色 firebrick

                Color.decode("#DC143C"), // 暗深红色 crimson
                Color.decode("#FF0000"), // 红色 red


                Color.decode("#C71585"), // 间紫罗兰色 mediumvioletred
                Color.decode("#D87093"), // 苍紫罗兰色 palevioletred

                Color.decode("#FF1493"), // 深粉红色 deeppink
                Color.decode("#FF00FF"), //  紫红色	fuchsia(magenta)
                Color.decode("#FF69B4"), // 红紫色 hotpink
                Color.decode("#FFC0CB"), // 粉红色 pink

                Color.decode("#FFB6C1"), // 亮粉红色 lightpink
                Color.decode("#FFE4E1"), // 浅玫瑰色 mistyrose

                Color.decode("#FFF0F5"), // 淡紫红 lavenderblush


                Color.decode("#4B0082"), // 靛青色 indigo
                Color.decode("#800080"), // 紫色 purple

                Color.decode("#8B008B"), // 暗洋红 darkmagenta
                Color.decode("#9932CC"), // 暗紫色 darkorchid

                Color.decode("#8A2BE2"), // 紫罗兰色 blueviolet
                Color.decode("#9400D3"), // 暗紫罗兰色 darkviolet

                Color.decode("#6A5ACD"), // 石蓝色 slateblue
                Color.decode("#9370DB"), // 间紫色 mediumpurple

                Color.decode("#7B68EE"), // 间暗蓝色 mediumslateblue
                Color.decode("#BA55D3"), // 间紫色 mediumorchid

                Color.decode("#EE82EE"), // 紫罗兰色 violet
                Color.decode("#DDA0DD"), // 洋李色 plum

                Color.decode("#D8BFD8"), // 蓟色 thistle
                Color.decode("#E6E6FA"), // 淡紫色 lavender


                Color.decode("#8B4513"), // 重褐色 saddlebrown
                Color.decode("#A0522D"), // 赭色 sienna

                Color.decode("#D2691E"), // 巧可力色 chocolate
                Color.decode("#CD5C5C"), // 印第安红 indianred

                Color.decode("#BC8F8F"), // 褐玫瑰红 rosybrown
                Color.decode("#F08080"), // 亮珊瑚色 lightcoral

                Color.decode("#FA8072"), // 鲜肉色 salmon
                Color.decode("#FFA07A"), // 亮肉色 lightsalmon

                Color.decode("#FF4500"), // 红橙色 orangered
                Color.decode("#FF6347"), // 西红柿色 tomato

                Color.decode("#FF7F50"), // 珊瑚色 coral
                Color.decode("#FF8C00"), // 暗桔黄色 darkorange

                Color.decode("#F4A460"), // 沙褐色 sandybrown
                Color.decode("#CD853F"), // 秘鲁色 peru

                Color.decode("#D2B48C"), // 茶色 tan
                Color.decode("#DEB887"), // 实木色 burlywood

                Color.decode("#F5DEB3"), // 浅黄色 wheat
                Color.decode("#FFE4B5"), // 鹿皮色 moccasin

                Color.decode("#FFDEAD"), // 纳瓦白 navajowhite
                Color.decode("#FFDAB9"), // 桃色 peachpuff

                Color.decode("#FFE4C4"), // 桔黄色 bisque
                Color.decode("#FAEBD7"), // 古董白 antiquewhite

                Color.decode("#FFEFD5"), // 番木色 papayawhip
                Color.decode("#FFF8DC"), // 米绸色 cornsilk

                Color.decode("#FDF5E6"), // 老花色 oldlace
                Color.decode("#FAF0E6"), // 亚麻色 linen

                Color.decode("#FFF5EE"), // 海贝色 seashell
                Color.decode("#FFFAFA"), // 雪白色 snow

                Color.decode("#FFFAF0"), // 花白色 floralwhite
                Color.decode("#FFFFF0"), // 象牙色 ivory


                Color.decode("#B8860B"), // 暗金黄色 darkgoldenrod
                Color.decode("#DAA520"), // 金麒麟色 goldenrod

                Color.decode("#FFD700"), // 金色 gold
                Color.decode("#FFFF00"), // 黄色 yellow

                Color.decode("#BDB76B"), // 暗黄褐色 darkkhaki
                Color.decode("#F0E68C"), // 黄褐色 khaki

                Color.decode("#EEE8AA"), // 苍麒麟色 palegoldenrod
                Color.decode("#F5F5DC"), // 米色 beige

                Color.decode("#FFFACD"), // 柠檬绸色 lemonchiffon
                Color.decode("#FAFAD2"), // 亮金黄色 lightgoldenrodyellow

                Color.decode("#FFFFE0"), // 亮黄色 lightyellow


                Color.decode("#2F4F4F"), // 墨绿色 darkslategray
                Color.decode("#556B2F"), // 暗橄榄绿 darkolivegreen

                Color.decode("#808000"), // 橄榄色 olive
                Color.decode("#006400"), // 暗绿色 darkgreen

                Color.decode("#228B22"), // 森林绿 forestgreen
                Color.decode("#2E8B57"), // 海绿色 seagreen

                Color.decode("#008080"),            // 水鸭色	green(teal)
                Color.decode("#66CDAA"), // 间宝石绿 madiumaquamarine

                Color.decode("#9ACD32"), // 黄绿色 yellowgreen
                Color.decode("#32CD32"), // 橙绿色 limegreen

                Color.decode("#00FF00"), // 酸橙色 lime
                Color.decode("#7FFF00"), // 黄绿色 chartreuse

                Color.decode("#7CFC00"), // 草绿色 lawngreen
                Color.decode("#ADFF2F"), // 黄绿色 greenyellow

                Color.decode("#00FA9A"), // 间春绿色 mediumspringgreen
                Color.decode("#00FF7F"), // 春绿色 springgreen

                Color.decode("#90EE90"), // 亮绿色 lightgreen
                Color.decode("#98F898"), // 苍绿色 palegreen

                Color.decode("#7FFFD4"), // 碧绿色 aquamarine
                Color.decode("#F0FFF0"), // 蜜色 honeydew

                Color.decode("#F5FFFA"), // 薄荷色 mintcream


                Color.decode("#191970"), // 中灰兰色 midnightblue
                Color.decode("#000080"), // 海军色 navy

                Color.decode("#00008B"), // 暗蓝色 darkblue
                Color.decode("#483D8B"), // 暗灰蓝色 darkslateblue

                Color.decode("#0000CD"), // 间兰色 mediumblue
                Color.decode("#4169E1"), // 皇家蓝 royalblue

                Color.decode("#1E90FF"), // 闪兰色 dodgerblue
                Color.decode("#6495ED"), // 菊兰色 cornflowerblue

                Color.decode("#00BFFF"), // 深天蓝色 deepskyblue
                Color.decode("#87CEFA"), // 亮天蓝色 lightskyblue

                Color.decode("#B0C4DE"), // 亮钢兰色 lightsteelblue
                Color.decode("#ADD8E6"), // 亮蓝色 lightblue

                Color.decode("#4682B4"), // 钢兰色 steelblue
                Color.decode("#008B8B"), // 暗青色 darkcyan

                Color.decode("#5F9EA0"), // 军兰色 cadetblue
                Color.decode("#00CED1"), // 暗宝石绿 darkturquoise

                Color.decode("#48D1CC"), // 亮绿色 mediumturquoise
                Color.decode("#40E0D0"), // 青绿色 turquoise

                Color.decode("#87CECB"), // 天蓝色 skyblue
                Color.decode("#B0E0E6"), // 粉蓝色 powderblue

                Color.decode("#AFEEEE"), // 苍宝石绿 paleturquoise
                Color.decode("#E0FFFF"), // 亮青色 lightcyan

                Color.decode("#F0FFFF"), // 天蓝色 azure
                Color.decode("#F0F8FF"), // 艾利斯兰 aliceblue

                Color.decode("#00FFFF"), // 青色	aqua(cyan)


                Color.decode("#000000"), // 黑色 black
                Color.decode("#696969"), // 暗灰色 dimgray

                Color.decode("#808000"), // 灰色 gray
                Color.decode("#708090"), // 灰石色 slategray

                Color.decode("#778899"), // 亮蓝灰 lightslategray
                Color.decode("#A9A9A9"), // 暗灰色 darkgray

                Color.decode("#C0C0C0"), // 银色 silver
                Color.decode("#D3D3D3"), // 浅灰 lightgray

                Color.decode("#DCDCDC"), // 淡灰色 gainsboro
                Color.decode("#F5F5F5"), // 烟白色 whitesmoke

                Color.decode("#F8F8FF"), // 幽灵白 ghostwhite
                Color.decode("#FFFFFF"), // 白色 white

        };
    }

}
